GDint: Обучение ИИ для Geometry Dash

GDint — это проект на Python, который обучает агента с искусственным интеллектом автономно проходить уровни в игре Geometry Dash, используя алгоритм глубокого Q-обучения (DQN) на базе PyTorch.

Основные возможности

  • Автономное обучение

    Агент использует алгоритм DQN для изучения игрового процесса через многократные попытки.

  • Захват экрана

    Автоматическое обнаружение и захват окна игры Geometry Dash для анализа.

  • Обработка изображений

    Преобразование кадров в формат, подходящий для нейронной сети (разрешение, цвет/монохром).

  • Имитация ввода

    Эмуляция кликов мыши для выполнения прыжков в игре на основе решений ИИ.

  • Графический интерфейс

    GUI для мониторинга статистики обучения (Q-значения, потери, награды) и управления процессом.

  • Гибкая конфигурация

    Простая настройка всех ключевых параметров через отдельный конфигурационный файл.

Установка и запуск

Шаг 1: Требования

  • Python: Версия 3.7 или выше.
  • Pip: Установщик пакетов Python.
  • Geometry Dash: Установленная игра.
  • Зависимости: PyTorch, OpenCV, NumPy и другие.

Шаг 2: Установка зависимостей

Клонируйте репозиторий и установите необходимые пакеты. Рекомендуется использовать виртуальное окружение.

# Создание и активация виртуального окружения
python -m venv gdint_env
# Windows:
gdint_env\Scripts\activate
# Linux/macOS:
source gdint_env/bin/activate

# Установка зависимостей
pip install torch torchvision torchaudio opencv-python numpy mss pynput pygetwindow Pillow pandas matplotlib

Шаг 3: Настройка игры

  • Включите оконный режим в настройках графики Geometry Dash.
  • Создайте шаблон `game_over_template.png`. Сделайте скриншот экрана "Game Over", вырежьте уникальный фрагмент (например, кнопку повтора) и сохраните его в папке проекта.

Шаг 4: Запуск

Запустите Geometry Dash, а затем выполните главный скрипт. Во время обратного отсчета переключитесь на окно игры.

python GDint.py

Исходный код